package com.yaodian100.ec.product.remote;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public class RemoteProduct {

	/**
	 * 商品編號
	 */
	private String productId;

	/**
	 * 商品名稱
	 */
	private String productName;

	/**
	 * 商品型態(一般商品,贈品,配件)
	 */
	private int productType;

	/**
	 * 是否為虛擬商品
	 */
	private String isVirtual;

	/**
	 * 主目錄編號
	 */
	private int mainCategoryID;

	/**
	 * 主目錄路徑
	 */
	private String mainCategoryPath;

	/**
	 * 商品成本
	 */

	private BigDecimal productCost;

	/**
	 * 廠商建議售價(市價)
	 */
	private BigDecimal listPrice;

	/**
	 * 商品簡介/特色
	 */
	private String productBrief;

	/**
	 * 商品說明
	 */
	private String productDescription;

	/**
	 * 商品規格
	 */
	private String productDetails;

	/**
	 * 品牌
	 */
	private String productBrand;

	/**
	 * 稅率類別
	 */
	private String taxClass;

	/**
	 * 是否已刪除,default=N
	 */
	private String isDelete;

	/**
	 * 長(cm)
	 */
	private BigDecimal productLength;

	/**
	 * 寬(cm)
	 */
	private BigDecimal productWidth;

	/**
	 * 高(cm)
	 */
	private BigDecimal productHeight;

	/**
	 * 重量(g)
	 */
	private BigDecimal productWeight;

	/**
	 * 體積(cm3)
	 */
	private BigDecimal productVolume;

	/**
	 * 銷售單位(例如件, 個, 罐,...)
	 */
	private String productUnit;

	/**
	 * 下單至出貨之前置時間(日)
	 */
	private int leadTime;

	/**
	 * 是否允許超收,default=N
	 */
	private String isDeliverTolerance;

	/**
	 * 最小採購量
	 */
	private int minPOQuantity;

	/**
	 * 最大採購量
	 */
	private int maxPOQuantity;

	/**
	 * 物流倉儲及運送溫層類別 1. 常溫 2. 冷藏 3. 冷凍
	 */
	private int temperatureType;

	/**
	 * 退換貨時是否需取回,default=Y
	 */
	private String isReturnPickup;

	/**
	 * 此商品可否退換貨,default=Y
	 */
	private String isReturnable;

	/**
	 * 商品審核狀態,default=PRD250 or PRD400 (依毛利率决定）
	 */

	private String productStatus;

	private String supplierId;

	/**
	 * 主要負責PM
	 */
	private String pmID;

	/**
	 * PM所屬單位
	 */
	private String organizationPath;

	/**
	 * 備註
	 */
	private String productMemo;

	/**
	 * 關健字
	 */
	private String productKeyword;

	private List<RemoteSpecification> remoteSpecifications = new ArrayList();

	/**
	 * 商品運送限定區域
	 */

	private String deliverGeoRange;

	/**
	 * 顯示順序(1~9,default 9 ，由大排到小，9最大)
	 */

	private int showSeq;

	/**
	 * 是否为scm转单
	 */
	private String isScm;

	/**
	 * 效期管理分类
	 */
	private String expireManage;

	/**
	 * 
	 */
	private String isAntiUnpacking;

	/**
	 * 长形图/方形图(S:方形圖,R:長形圖)
	 */
	private String graphicType;

	/**
	 * 是否使用"订购后几日出货"?(default N ,Y:是,N:否)
	 */
	private String useDeliveryDay = "N";

	/**
	 * 订购后几日出货(default 0)
	 */
	private int deliveryDay = 0;

	/**
	 * 台湾馆供应商编号
	 */
	private String twSupplierId;

	/**
	 * 预计出货日
	 */
	private String expectShipDateStr;

	/**
	 * 是否允许使用cod
	 */
	private String canUseCod = "Y";

	/**
	 * 供应商来源
	 */
	private String channelFirm;
	
	/**
	 * 退换货条件代码
	 */
	private String returnRule;
	
	/**
	 * 商品是否限立即购买
	 */
	private String nmMustOrderBuy;

	/**
	 * @return the deliverGeoRange
	 */
	public String getDeliverGeoRange() {
		return deliverGeoRange;
	}

	/**
	 * @return the isDelete
	 */
	public String getIsDelete() {
		return isDelete;
	}

	/**
	 * @return the isDeliverTolerance
	 */
	public String getIsDeliverTolerance() {
		return isDeliverTolerance;
	}

	/**
	 * @return the isReturnable
	 */
	public String getIsReturnable() {
		return isReturnable;
	}

	public void setIsAntiUnpacking(String isAntiUnpacking) {
		this.isAntiUnpacking = isAntiUnpacking;
	}

	/**
	 * @return the isReturnPickup
	 */
	public String getIsReturnPickup() {
		return isReturnPickup;
	}

	public String getIsScm() {
		return isScm;
	}

	/**
	 * @return the isVirtual
	 */
	public String getIsVirtual() {
		return isVirtual;
	}

	/**
	 * @return the leadTime
	 */
	public int getLeadTime() {
		return leadTime;
	}

	/**
	 * @return the listPrice
	 */
	public BigDecimal getListPrice() {
		return listPrice;
	}

	/**
	 * @return the mainCategoryID
	 */
	public int getMainCategoryID() {
		return mainCategoryID;
	}

	/**
	 * @return the maxPOQuantity
	 */
	public int getMaxPOQuantity() {
		return maxPOQuantity;
	}

	/**
	 * @return the minPOQuantity
	 */
	public int getMinPOQuantity() {
		return minPOQuantity;
	}

	/**
	 * @return the organizationPath
	 */
	public String getOrganizationPath() {
		return organizationPath;
	}

	/**
	 * @return the pmID
	 */
	public String getPmID() {
		return pmID;
	}

	/**
	 * @return the productBrand
	 */
	public String getProductBrand() {
		return productBrand;
	}

	/**
	 * @return the productBrief
	 */
	public String getProductBrief() {
		return productBrief;
	}

	/**
	 * @return the productCost
	 */
	public BigDecimal getProductCost() {
		return productCost;
	}

	/**
	 * @return the productDescription
	 */
	public String getProductDescription() {
		return productDescription;
	}

	/**
	 * @return the productDetails
	 */
	public String getProductDetails() {
		return productDetails;
	}

	/**
	 * @return the productHeight
	 */
	public BigDecimal getProductHeight() {
		return productHeight;
	}

	/**
	 * @return the productId
	 */
	public String getProductId() {
		return productId;
	}

	/**
	 * @return the productKeyword
	 */
	public String getProductKeyword() {
		return productKeyword;
	}

	/**
	 * @return the productLength
	 */
	public BigDecimal getProductLength() {
		return productLength;
	}

	/**
	 * @return the productMemo
	 */
	public String getProductMemo() {
		return productMemo;
	}

	/**
	 * @return the productName
	 */
	public String getProductName() {
		return productName;
	}

	/**
	 * @return the productStatus
	 */
	public String getProductStatus() {
		return productStatus;
	}

	/**
	 * @return the productType
	 */
	public int getProductType() {
		return productType;
	}

	/**
	 * @return the productUnit
	 */
	public String getProductUnit() {
		return productUnit;
	}

	/**
	 * @return the productVolume
	 */
	public BigDecimal getProductVolume() {
		return productVolume;
	}

	/**
	 * @return the productWeight
	 */
	public BigDecimal getProductWeight() {
		return productWeight;
	}

	/**
	 * @return the productWidth
	 */
	public BigDecimal getProductWidth() {
		return productWidth;
	}

	/**
	 * @return the remoteSpecifications
	 */
	public List<RemoteSpecification> getRemoteSpecifications() {
		return remoteSpecifications;
	}

	/**
	 * @return the showSeq
	 */
	public int getShowSeq() {
		return showSeq;
	}

	/**
	 * @return the supplierId
	 */
	public String getSupplierId() {
		return supplierId;
	}

	/**
	 * @return the taxClass
	 */
	public String getTaxClass() {
		return taxClass;
	}

	/**
	 * @return the temperatureType
	 */
	public int getTemperatureType() {
		return temperatureType;
	}

	/**
	 * @param deliverGeoRange the deliverGeoRange to set
	 */
	public void setDeliverGeoRange(String deliverGeoRange) {
		this.deliverGeoRange = deliverGeoRange;
	}

	/**
	 * @param isDelete the isDelete to set
	 */
	public void setIsDelete(String isDelete) {
		this.isDelete = isDelete;
	}

	/**
	 * @param isDeliverTolerance the isDeliverTolerance to set
	 */
	public void setIsDeliverTolerance(String isDeliverTolerance) {
		this.isDeliverTolerance = isDeliverTolerance;
	}

	/**
	 * @param isReturnable the isReturnable to set
	 */
	public void setIsReturnable(String isReturnable) {
		this.isReturnable = isReturnable;
	}

	/**
	 * @param isReturnPickup the isReturnPickup to set
	 */
	public void setIsReturnPickup(String isReturnPickup) {
		this.isReturnPickup = isReturnPickup;
	}

	public void setIsScm(String isScm) {
		this.isScm = isScm;
	}

	/**
	 * @param isVirtual the isVirtual to set
	 */
	public void setIsVirtual(String isVirtual) {
		this.isVirtual = isVirtual;
	}

	/**
	 * @param leadTime the leadTime to set
	 */
	public void setLeadTime(int leadTime) {
		this.leadTime = leadTime;
	}

	/**
	 * @param listPrice the listPrice to set
	 */
	public void setListPrice(BigDecimal listPrice) {
		this.listPrice = listPrice;
	}

	/**
	 * @param mainCategoryID the mainCategoryID to set
	 */
	public void setMainCategoryID(int mainCategoryID) {
		this.mainCategoryID = mainCategoryID;
	}

	/**
	 * @param maxPOQuantity the maxPOQuantity to set
	 */
	public void setMaxPOQuantity(int maxPOQuantity) {
		this.maxPOQuantity = maxPOQuantity;
	}

	/**
	 * @param minPOQuantity the minPOQuantity to set
	 */
	public void setMinPOQuantity(int minPOQuantity) {
		this.minPOQuantity = minPOQuantity;
	}

	/**
	 * @param organizationPath the organizationPath to set
	 */
	public void setOrganizationPath(String organizationPath) {
		this.organizationPath = organizationPath;
	}

	/**
	 * @param pmID the pmID to set
	 */
	public void setPmID(String pmID) {
		this.pmID = pmID;
	}

	/**
	 * @param productBrand the productBrand to set
	 */
	public void setProductBrand(String productBrand) {
		this.productBrand = productBrand;
	}

	/**
	 * @param productBrief the productBrief to set
	 */
	public void setProductBrief(String productBrief) {
		this.productBrief = productBrief;
	}

	/**
	 * @param productCost the productCost to set
	 */
	public void setProductCost(BigDecimal productCost) {
		this.productCost = productCost;
	}

	/**
	 * @param productDescription the productDescription to set
	 */
	public void setProductDescription(String productDescription) {
		this.productDescription = productDescription;
	}

	/**
	 * @param productDetails the productDetails to set
	 */
	public void setProductDetails(String productDetails) {
		this.productDetails = productDetails;
	}

	/**
	 * @param productHeight the productHeight to set
	 */
	public void setProductHeight(BigDecimal productHeight) {
		this.productHeight = productHeight;
	}

	/**
	 * @param productId the productId to set
	 */
	public void setProductId(String productId) {
		this.productId = productId;
	}

	/**
	 * @param productKeyword the productKeyword to set
	 */
	public void setProductKeyword(String productKeyword) {
		this.productKeyword = productKeyword;
	}

	/**
	 * @param productLength the productLength to set
	 */
	public void setProductLength(BigDecimal productLength) {
		this.productLength = productLength;
	}

	/**
	 * @param productMemo the productMemo to set
	 */
	public void setProductMemo(String productMemo) {
		this.productMemo = productMemo;
	}

	/**
	 * @param productName the productName to set
	 */
	public void setProductName(String productName) {
		this.productName = productName;
	}

	/**
	 * @param productStatus the productStatus to set
	 */
	public void setProductStatus(String productStatus) {
		this.productStatus = productStatus;
	}

	/**
	 * @param productType the productType to set
	 */
	public void setProductType(int productType) {
		this.productType = productType;
	}

	/**
	 * @param productUnit the productUnit to set
	 */
	public void setProductUnit(String productUnit) {
		this.productUnit = productUnit;
	}

	/**
	 * @param productVolume the productVolume to set
	 */
	public void setProductVolume(BigDecimal productVolume) {
		this.productVolume = productVolume;
	}

	/**
	 * @param productWeight the productWeight to set
	 */
	public void setProductWeight(BigDecimal productWeight) {
		this.productWeight = productWeight;
	}

	/**
	 * @param productWidth the productWidth to set
	 */
	public void setProductWidth(BigDecimal productWidth) {
		this.productWidth = productWidth;
	}

	/**
	 * @param remoteSpecifications the remoteSpecifications to set
	 */
	public void setRemoteSpecifications(List<RemoteSpecification> remoteSpecifications) {
		this.remoteSpecifications = remoteSpecifications;
	}

	/**
	 * @param showSeq the showSeq to set
	 */
	public void setShowSeq(int showSeq) {
		this.showSeq = showSeq;
	}

	/**
	 * @param supplierId the supplierId to set
	 */
	public void setSupplierId(String supplierId) {
		this.supplierId = supplierId;
	}

	/**
	 * @param taxClass the taxClass to set
	 */
	public void setTaxClass(String taxClass) {
		this.taxClass = taxClass;
	}

	/**
	 * @param temperatureType the temperatureType to set
	 */
	public void setTemperatureType(int temperatureType) {
		this.temperatureType = temperatureType;
	}

	public String getExpireManage() {
		return expireManage;
	}

	public void setExpireManage(String expireManage) {
		this.expireManage = expireManage;
	}

	public String getIsAntiUnpacking() {
		return isAntiUnpacking;
	}

	public String getGraphicType() {
		return graphicType;
	}

	public void setGraphicType(String graphicType) {
		this.graphicType = graphicType;
	}

	public String getUseDeliveryDay() {
		return useDeliveryDay;
	}

	public int getDeliveryDay() {
		return deliveryDay;
	}

	public void setUseDeliveryDay(String useDeliveryDay) {
		this.useDeliveryDay = useDeliveryDay;
	}

	public void setDeliveryDay(int deliveryDay) {
		this.deliveryDay = deliveryDay;
	}

	public String getMainCategoryPath() {
		return mainCategoryPath;
	}

	public void setMainCategoryPath(String mainCategoryPath) {
		this.mainCategoryPath = mainCategoryPath;
	}

	public String getTwSupplierId() {
		return twSupplierId;
	}

	public void setTwSupplierId(String twSupplierId) {
		this.twSupplierId = twSupplierId;
	}

	public String getExpectShipDateStr() {
		return expectShipDateStr;
	}

	public void setExpectShipDateStr(String expectShipDateStr) {
		this.expectShipDateStr = expectShipDateStr;
	}

	public String getCanUseCod() {
		return canUseCod;
	}

	public void setCanUseCod(String canUseCod) {
		this.canUseCod = canUseCod;
	}

	public String getChannelFirm() {
		return channelFirm;
	}

	public void setChannelFirm(String channelFirm) {
		this.channelFirm = channelFirm;
	}

	public String getReturnRule() {
		return returnRule;
	}

	public void setReturnRule(String returnRule) {
		this.returnRule = returnRule;
	}

	public String getNmMustOrderBuy() {
		return nmMustOrderBuy;
	}

	public void setNmMustOrderBuy(String nmMustOrderBuy) {
		this.nmMustOrderBuy = nmMustOrderBuy;
	}

}